package com.jf.design.strategy;

import com.jf.design.strategy.bean.BaseParams;
import com.jf.design.strategy.bean.ResultSet;
import com.jf.design.strategy.bean.StrategyNameEnum;


/**
 * @author Yunfeng
 */
public interface StrategyPattern<T extends BaseParams, R extends ResultSet> {

    /**
     * 获取策略名称
     *
     * @return 策略名称
     */

    StrategyNameEnum getStrategyName();

    /**
     * 策略对应执行方法
     *
     * @param t 参数
     * @return R 返回值
     */
    R execute(T t);
}
